Interpreter prototypes from formal language definitions

نویسنده

  • Greg J. Michaelson
چکیده

Denotational semantics is now used widely for the formal definition of programming languages but there is a lack of appropriate tools to support language development. General purpose language implementation systems are oriented to syntax with poor support for semantics. Specialised denotational semantics based systems correspond closely to the formalism but are rendered inflexible for language experimentation by their monolithic multiple stages Exploratory language development with formal definitions is better served by a unitary notation, encompassing syntax and semantics, which is close to but simpler than denotational semantics. Interactive implementation of the notation then facilitates language investigation through the direct execution of a formal definition as an interpreter for the defined language. This thesis presents Navel, a run-time typed, applicative order, pure functional programming language with integrated context free grammar rules. Navel has been used to develop prototype implementations from substantial formal language definitions, including for Navel itself. The Navel implementation achieves a performance which enables interactive language experimentation and compares well with that of contemporaneous declarative language implementations. Denotational semantics does not address concrete syntax issues and denotational semantics based systems either ignore or have ad-hoc provision for context sensitivity. In Navel, rules are full values. Abstraction over rules enables the concise expression of context sensitivity in a style similar to dynamic syntax.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Interpreter prototypes from language definition style specifications by GREG MICHAELSON

Language definition techniques may be applied to the specification of a wide range of problems. Language implementation techniques may then be used to construct interpreter prototypes. The use of an interpreter-interpreter language for the implementation of interpreter prototypes circumvents some of the disadvantages of contemporary programming languages and software tools.

متن کامل

Executing Formal Semantics with the K Tool

This paper describes the K tool, a system for formally defining programming languages. Formal definitions created using the K tool automatically yield an interpreter for the language, as well as program analysis tools such as a state-space explorer. The modularity of K and the design of the tool allow one semantics to be used for several applications.

متن کامل

Formalization of Database Systems - and a Formal Definition of IMS (Invited Paper)

ion Techniques, Functional & Logic Programming, me/Post conditions, Datastructure Invariant-s 0. Introductim 1. Specification Etequirements & Objectives 2. Formal Definitions h Their Uses 3. Related P&rk An Annotated Bibliography 4. Conclusion References (2) This Was the first step of our analogy. In our next step = relate programning language processors to database management systems, DBMS. By...

متن کامل

The K Primer ( version 2 . 5 )

This paper serves as a brief introduction to the K tool, a system for formally defining programming languages. It is shown how sequential or concurrent languages can be defined in K simply and modularly. These formal definitions automatically yield an interpreter for the language, as well as program analysis tools such as a state-space explorer.

متن کامل

Rewriting Logic Semantics: From Language Specifications to Formal Analysis Tools

Formal semantic definitions of concurrent languages, when specified in a well-suited semantic framework and supported by generic and efficient formal tools, can be the basis of powerful software analysis tools. Such tools can be obtained for free from the semantic definitions; in our experience in just the few weeks required to define a language’s semantics even for large languages like Java. B...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1993